package main;

import Properties.BundleTool;
import application.InterfaceApplication;
import application.Program;
import application.RedirectOutputStream;
import controleur.Controleur;
import java.io.PrintStream;
import java.util.Locale;
import vue.Vue;

/**
 * Classe principal 
 * @author D.Romain
 * @author O.Riad
 */
public class Main {    
    //TODO Faire des jeux de tests (programme .picol) pour toutes les expressions/instruction
    //TODO Gérer exceptions
    //TODO Debugger ligne par ligne
    //TODO Gérer les librairies
    //Supprimer notationExplorateur des Expr
    public static void main(String[] args) {
        //On demarre l'application en Francais
        BundleTool.setBundle(Locale.FRANCE);
        Vue v= new Vue();
        //On lie la JtextArea (console d'affichage) de la vue à la 
        //sortie standard
        RedirectOutputStream redirect = new RedirectOutputStream();
        redirect.setJtextArea(v.console);
        System.setOut(new PrintStream(redirect));
        InterfaceApplication a = new Program(Program.MODE_NORMAL);
        Controleur c = new Controleur(v, a);
        //On abandonne les élements de la vue au contrôleur
        v.abonnement(c);
    }   
}
                